// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

using System;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Microsoft.Azure.WebJobs.Script.Workers;

public interface IScriptHostWorkerManager
{
    WorkerManagerState State { get; }

    Task GetWorkerStatusesAsync();

    Task<bool> RestartWorkerWithInvocationIdAsync(string invocationId, Exception exception);

    Task<IEnumerable<WorkerProcessInfo>> GetWorkerProcessInfoAsync(string workerRuntime);
}